home *** CD-ROM | disk | FTP | other *** search
/ Total Network Tools 2002 / NextStepPublishing-TotalNetworkTools2002-Win95.iso / Archive / Web Server / PHP.EXE / pear / DB / tests / errors.inc < prev    next >
Encoding:
Text File  |  2000-12-15  |  1.4 KB  |  48 lines

  1. <?php
  2.  
  3. function errhandler($obj)
  4. {
  5.     $msg = $obj->getMessage();
  6.     print "  $msg";
  7.     if (substr($msg, -1) != "\n") {
  8.         print "\n";
  9.     }
  10. }
  11.  
  12. $dbh->setErrorHandling(PEAR_ERROR_CALLBACK, "errhandler");
  13.  
  14. print "Trying to provoke DB_ERROR_NOSUCHTABLE\n";
  15. $dbh->query("SELECT * FROM tableThatDoesNotExist");
  16.  
  17. print "Trying to provoke DB_ERROR_ALREADY_EXISTS\n";
  18. $dbh->query("CREATE TABLE phptest (a INTEGER, b VARCHAR(40), c TEXT, d DATE)");
  19.  
  20. print "Trying to provoke DB_ERROR_NOSUCHTABLE\n";
  21. $dbh->query("DROP TABLE tableThatDoesNotExist");
  22.  
  23. print "Trying to provoke DB_ERROR_CONSTRAINT\n";
  24. $dbh->setErrorHandling(PEAR_ERROR_RETURN);
  25. $dbh->query("DROP TABLE a");
  26. $dbh->query("DROP TABLE b");
  27. $dbh->setErrorHandling(PEAR_ERROR_CALLBACK, "errhandler");
  28. $dbh->query("CREATE TABLE a (a INTEGER NOT NULL, PRIMARY KEY(a))");
  29. $dbh->query("CREATE TABLE b (b INTEGER REFERENCES a(a))");
  30. $dbh->query("INSERT INTO a VALUES(1)");
  31. $dbh->query("INSERT INTO b VALUES(2)");
  32. $dbh->query("DROP TABLE a");
  33. $dbh->query("DROP TABLE b");
  34.  
  35. print "Trying to provoke DB_ERROR_DIVZERO\n";
  36. $dbh->query("SELECT 0/0");
  37.  
  38. print "Trying to provoke DB_ERROR_INVALID_NUMBER\n";
  39. $dbh->query("UPDATE phptest SET a = 'abc' WHERE a = 42");
  40.  
  41. print "Trying to provoke DB_ERROR_NOSUCHFIELD\n";
  42. $dbh->query("SELECT e FROM phptest");
  43.  
  44. print "Trying to provoke DB_ERROR_SYNTAX\n";
  45. $dbh->query("SYNTAX TERROR");
  46.  
  47. ?>
  48.